#include<stdio.h>
#include<pthread.h>
#include<unistd.h>
#include<stdlib.h>

void *thr_fn1(void *);
void *thr_fn2(void *);

int main(int argc,char **argv)
{
	int                err;
    pthread_t          tid1,tid2;
	void               *tret;

	err = pthread_create(&tid1,NULL,thr_fn1,NULL);
	if(err != 0)
		printf("can't create thread 1\n");

	err = pthread_create(&tid2,NULL,thr_fn2,NULL);
	if(err != 0)
		printf("can't create thread 2\n");

	err = pthread_join(tid1,&tret);
	if(err != 0)
		printf("can't join with thread 1\n");

	printf("thread 1 exit code %ld\n",(long)tret);

	err = pthread_join(tid2,&tret);
	if(err != 0)
		printf("can't join with thread 2\n");

	printf("thread 2 exit code %ld\n",(long)tret);

	exit(0);
}

void *thr_fn1(void *arg)
{
	printf("thread 1 returning\n");
	return((void *)1);
}

void *thr_fn2(void *arg)
{
	printf("thread 2 returning\n");
	return((void *)2);
}
